home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1993…stman Always Clicks Twice / ADC Developer CD (1993-01) (''The Postman Always Clicks Twice'')_iso / Dev.CD 199301.iso / Development Platforms / CSMP Digests / csmp-v1-001.txt < prev    next >
Encoding:
Text File  |  1992-11-18  |  56.8 KB  |  1,549 lines  |  [TEXT/MPS ]

  1. C.S.M.P. Digest             Thu, 27 Feb 92       Volume 1 : Issue 1 
  2.  
  3. Today's Topics:
  4.  
  5.     (01) FilterTop Collaboration:  Status Report
  6.     (02) Shutdown event
  7.     (03) THINK C Remove Objects problem
  8.     (04) Think C and stdin/out/err
  9.     (05) Who has the LARGEST Mac Network?
  10.     (06) Time Manager
  11.     (07) Q: how do i translate code info from macsbug to resedit?
  12.     (08) INIT
  13.     (09) 2 QuickDraw (AAARRRGH!) questions
  14.     (10) MPW C++ Class dereferencing of private class variables.
  15.     (11) Drawing into windows / update events
  16.     (12) Decompression warning
  17.     (13) LaunchDeskAccessory
  18.     (14) Best way to put a GUI on top of a stdio-style C program
  19.     (15) THINK C oop and C++
  20.     (16) How to set up a color startup screen AND color back drop screens
  21.     (17) TIFF file format incompatible!
  22.     (18) pascal on the mac, 1st programming course
  23.  
  24.  
  25. The Comp.Sys.Mac.Programmer Digest is moderated by Michael A. Kelly.
  26.  
  27. These digests are available (by using FTP, account anonymous, your email
  28. address as password) in the pub/mac directory on ftp.cs.uoregon.edu.
  29. This is also the home of the comp.sys.mac.programmer Frequently Asked
  30. Questions list.
  31.  
  32. These digests follow the format for the Info-Mac Digests, so you should be
  33. able to read them with the Info-Mac Digest readers.  Let me know if that is
  34. not true.
  35.  
  36. The articles in these digests are taken directly from comp.sys.mac.programmer.
  37. They are not edited; all articles included in this digest are in their original
  38. posted form.  Only articles that contain information are included in the
  39. digests.  That is, if an article asking a question (and not providing any
  40. answers) does not receive a reply, it is not included in the digests.  All
  41. replies to each article are concatenated onto the original article in the
  42. order in which they were received.  Article threads are not added to the
  43. digests until the last article added to the thread is at least one month old.
  44.  
  45. Send administrative mail to mkelly@cs.uoregon.edu.
  46. ----------------------------------------------------------------------
  47.  
  48. (01)
  49.             
  50. From: stevej@ais.org (Steve Jovanovic)
  51. Subject: FilterTop Collaboration:  Status Report
  52. Summary: An update on the FilterTop collaboration.
  53. Keywords: FilterTop Collaboration
  54. Organization: UMCC
  55.  
  56. Hi Mac Netters,
  57.  
  58. This posting is to update you on the FilterTop Project,
  59. and to invite new people to join.
  60.  
  61. What is FilterTop?
  62.  
  63. The FilterTop Team was founded several months ago with the
  64. main goal of getting a group of Mac programmers together to
  65. work on a Sys7-savvy product, to be distributed as Freeware
  66. with full source upon completion.  But above and beyond that,
  67. the goals are to meet new people and have lots of fun! :-)
  68.  
  69. Since the start, our Team has grown quite a bit.  We currently
  70. have 50+ members, but there's always room for more!  If you are
  71. a THINK C programmer (we also have our own Pascal Militants ;-) )
  72. and would like to participate in our effort, we welcome you
  73. to join.
  74.  
  75. FilterTop is a SMART file filtration/manipulation utility,
  76. taking the best of UNIX filters and I/O redirection; Apple
  77. Events; AI; the Mac's ease of use; (and a few surprises
  78. thrown in).  
  79.  
  80. With FilterTop, our goal is to create an app so that users
  81. won't have to ever worry about using a barage of utilities
  82. to (time-consumingly) get files into a format they want.
  83. Why should we have to "manually" unbinhex and unstuff or
  84. uncompact files when we download them to our Mac?  Just
  85. drag the files to FilterTop's Finder icon, and it transparently
  86. decides what to do.  (There will be a variety of config. 
  87. options).  
  88.  
  89. But that's just a minor part of FilterTop's functionallity!
  90. Wouldn't it be nice to be able to change the Type/Creator
  91. of many files in one large batch?  How about cutting certain
  92. fields of text in delimited text file?  How about the
  93. eternally frustrating problem of converting text files from
  94. UNIX or IBM to Mac, or v.v.?  
  95.  
  96. There are many utilities that enable the user to do these
  97. things now, but unfortunately, many of them are very time-
  98. consuming for the user, and don't support batch operations.
  99. Also, few of them are smart.  You have to make file filtration/
  100. manipulation decisions yourself.  Worst of all, some apps
  101. are obtrusive.  FilterTop never, never bothers the user
  102. unless option specification is required.  But when the UI
  103. is presented, it is transparent, non-modal, and has many
  104. built-in smart options.  In addition, filtration and UI
  105. interaction will be independent.  That is, file filtration
  106. will continue going on even while you're interacting with
  107. the UI.
  108.  
  109. The FilterTop paradigm is:  the user drops files/folders on
  110. FilterTop's Finder icon, and it makes intelligent decisions
  111. on what to do.  Where user-interaction is needed (very seldomly),
  112. a transparent and convenient user-interface is presented to
  113. allow the user to choose specific filter/s and specify
  114. options.
  115.  
  116. There are several innovations on this idea we hope to
  117. implement:  one is the idea of superfilters.  You take
  118. your favorite filters and combine them into one super-filter,
  119. so that complex actions can be performed on files. 
  120. Another innovation is being able to allow superfilters to
  121. be assigned to a particular folder (or folders), so that whenever
  122. FilterTop finds files in those designated folders, it
  123. automatically goes to work.
  124.  
  125. FilterTop is being designed as an extensible architecture.
  126. The FilterTop application is responsible for intelligence,
  127. filter scheduling, and the user-interface.  But the filters
  128. themselves do all the work, and we are working on an architecture
  129. that will enable filters to be created extremely easily,
  130. largely hiding much of the complexity of the Mac Toolbox for
  131. the filter author.
  132.  
  133. Another major innovation in FilterTop is AppleEvents.  Other
  134. applications will be able to call FilterTop to perform
  135. filtration tasks on files that are sent to it!  We are even
  136. considering the possibility of allowing menu sharing from
  137. other applications.
  138.  
  139. How is the Team organized?
  140.  
  141. We have three development subgroups with separate mailing
  142. lists:
  143.     The Shell App Subgroup 
  144.     The Apple Events Subgroup
  145.     The Filters Subgroup
  146.  
  147. Our general mailing list is:  
  148.  
  149.     topsoft@ais.org.
  150.  
  151. (Please note:  mac-project@mixcom.COM, and first.inc@mixcom.COM
  152. are no longer used; we have moved over to a fast Internet system:
  153. ais.org). 
  154.  
  155. To join the FilterTop Team, please send your request or questions to:
  156. (The FilterTop Project's Official Admin Address)
  157.  
  158.     topsoft-request@ais.org
  159.  
  160. Miscellaneous:
  161.  
  162. We regret that during our last posting to the net, due to a huge
  163. influx of e-mail and new member requests, a few people requesting
  164. more information might not have been e-mailed back.  Now that our
  165. mailing lists are on Internet (vs. our old system, which transferred
  166. mail via modem and UUCP), the info. deluge will hopefully be much
  167. easier to manage.  Sorry for any convenience.  From now on, we will
  168. do our best to answer all queries as soon as they are received!
  169.  
  170. Status:
  171.  
  172. We are constantly coming up with new ideas, so the discussion
  173. on our main mailing list is always active.  We have now just
  174. begun to code, and even when the FilterTop app itself is
  175. finished, there is limitless opportunity to write your own
  176. filters to extend FilterTop's functionallity.  Hopefully,
  177. we will be able to release new "filter packs" for FilterTop
  178. every few months.  We hope that many programmers on the Net
  179. will become involved, so that the entire Mac community can
  180. benefit.
  181.  
  182. FilterTop might easily have been a commercial product (and
  183. we are designing it just as if it were!), but we feel that 
  184. the whole Mac community would benefit from a a powerful  
  185. Freeware app, and hopefully our source code will make Sys7
  186. programming a bit easier for other programmers in the future.
  187.  
  188. If you are interested in joining one of the subgroups
  189. and/or the main mailing list, please e-mail our admin
  190. address above.
  191.  
  192. Conclusion:
  193.  
  194. Wow--as my friend pointed out after watching me spend what
  195. seems like hours writing this update, if you (the reader)
  196. have made it this far through the article, you're hooked
  197. by now :-)  
  198.  
  199. We look forward to hearing from you, and hearing any general
  200. comments/questions and suggestions that Net readers would
  201. like to make!
  202.  
  203. Thank You,
  204.  
  205. steve jovanovic
  206. Project Manager
  207. FilterTop
  208.  
  209. stevej@ais.org
  210.  
  211. ------------------------------
  212.  
  213. (02)
  214.  
  215. From: jpugh@apple.com (Jon Pugh)
  216. Subject: Re: Shutdown event
  217. Organization: Apple Co.
  218.  
  219. In article <1992Jan16.044946.562@ncsu.edu>, dkramer@ent1.ent.ncsu.edu (David Kramer) writes:
  220. > So, the question is, what event should I be looking for that signals to
  221. > my program that Shutdown was chosen?  I assume that I will need to check 
  222. > the <multifinder aware> box in THINK C (I am using version 5), but I do 
  223. > not have a clue what the name of the event is.
  224.  
  225. You should either provide a Quit menu item under the File menu or support the required
  226. Apple Events which include a Quit event.
  227.  
  228. Jon
  229.  
  230. ------------------------------
  231.  
  232. (03)
  233.  
  234. From: rmh@apple.com (Rick Holzgrafe)
  235. Subject: Re: THINK C Remove Objects problem
  236. Organization: Apple Computer, Inc.
  237.  
  238. In article <1992Jan16.183944.2375@ux1.cso.uiuc.edu>, dorner@pequod.cso.uiuc.edu (Steve Dorner) writes:
  239. > rmh@apple.com (Rick Holzgrafe) writes:
  240. > >The experience made me think better of MPW, I'll tell you. The bug not only
  241. > >trashed my project file; it (or the trashed project) kept replacing little
  242. > >2- to 4-byte chunks of my source code with garbage. NOT a secure feeling.
  243. > Stray writes to memory while you had the files open for editing?  I don't
  244. > see why MPW would be immune to this, though perhaps it keeps less of the
  245. > files it's editing "in memory", and so might reduce your "hit rate".
  246.  
  247. I don't see why either. I don't think it *is* immune, in fact. I suspect that
  248. it was sheer dumb luck that my bug was hitting... well, whatever it hit to
  249. cause all that damage in Think C, and that it could just as easily have
  250. happened in MPW. But at least MPW doesn't put so many of its eggs in the one
  251. basket of the project file. It may be a little more resistant than Think C,
  252. for that reason.
  253.  
  254. > -- 
  255. > Steve Dorner, U of Illinois Computing Services Office
  256. > Internet: s-dorner@uiuc.edu  UUCP: uunet!uiucuxc!uiuc.edu!s-dorner
  257. >                 "What is Truth?"--Pontius Pilate.
  258.  
  259. - ---------------------------------------------------
  260. Rick Holzgrafe   rmh@apple.com   AppleLink HOLZGRAFE1
  261.      {sun,voder,nsc,mtxinu,dual}!apple!rmh
  262. Apple Computer, Inc.
  263. 20525 Mariani Ave. MS: 3-PK
  264. Cupertino, CA 95014
  265.      --- My opinions, not Apple's.
  266.  
  267. ------------------------------
  268.  
  269. (04)
  270.  
  271. From: russells@ccu1.aukuni.ac.nz (Russell Street)
  272. Subject: Re: Think C and stdin/out/err
  273. Organization: University of Auckland, New Zealand.
  274.  
  275. hughson@cis.ohio-state.edu (J R Hughson) writes:
  276.  
  277. >    I am trying to port unix filters over to the mac.  We have a front
  278. >end working, but the filters have yet to work.  What I need to be able to
  279. >do is set stdin, stdout, stderr to filenames which are passed in.  I know
  280. >that ccomand does such things and I have puzzeled over the source for
  281. >this among other things.  The tools (filters) can't be modified from portable
  282. >c.  They need to be compiled as code resources.  Which source files
  283. >will I need to include since ansi-a4 lacks file routines?  
  284.  
  285. Standard C lets you reopen any stream with another file name.
  286. So for instance you could redirect stdout with
  287.  
  288.     freopen("new-in.dat", "wb", stdout);
  289.  
  290. freopen returns NULL on failure or the stream on success.
  291.  
  292. [Good idea to include the "b" if you are using binary data.
  293. You will get LF to CR translation otherwise]
  294.  
  295. This standard C call is documented in the Think C ANSI libraries
  296. manual. 
  297.  
  298. In fact, looking at the man page for freopen on this UNIX machine
  299. I see:
  300.  
  301. } freopen is typically used to attach preopened streams associated
  302. } with stdin, stdout and stderr to other files. 
  303.  
  304. As for stdio in code resources.  The complete ANSI sources come
  305. with Think C.  It is not that difficult to modify them to
  306. include the FILE stuff and be included in a code resource.
  307.  
  308. I would suggest making a copy of the sources and taking out
  309. all the stuff you don't want, such as the console libraries,
  310. signals, assertions.  Presumably the UNIX sources have global
  311. variables or statics so a few more global variables are not
  312. going to hurt.
  313.  
  314. Hope this helps...
  315. - -----------------------------------------------------------
  316. Russell Street (russells@ccu1.aukuni.ac.nz)
  317.     "But that's your pigeon, Major"
  318.     "So it is. How did that get out! Abdul - take this pigeon
  319.     away and bring me a clothes brush!"
  320.         The Goon Show "The Telephone"
  321.  
  322. ------------------------------
  323.  
  324. (05)
  325.  
  326. From: rtmd30@email.sps.mot.com (greg ferguson)
  327. Subject: Re: Who has the LARGEST Mac Network?
  328. Organization: Motorola, Inc.
  329.  
  330. In article <02WCBJZ1@cc.swarthmore.edu>, stauffer@cc.swarthmore.edu (Glenn Stauffer) writes:
  331. > In article <BI4FwM.EFx@world.std.com>, aep@world.std.com (Andrew E Page) writes:
  332. > > 
  333. > >     Who has the largest Macintosh Network?
  334. > > 
  335. > > 
  336. > >     How many zones do they have, do they support some WAN as well
  337. > >     as a LAN protocol?
  338. > > 
  339. > >     What is their preferred hardware?
  340. > > 
  341. > >     Just curious.
  342. > > 
  343. > In an article on the NetOctupus LAN management software in Info World, they
  344. > state that Motorola's Semiconductor Products Sector in Phoenix recently 
  345. > licensed the product for 15,000 Macs.
  346. My, how that gets around. I'm the one who set up the order. I think
  347. that the 15,000 will cover our sector's growth for a couple of years,
  348. including the international sites. I don't think we're there yet.
  349.  
  350. Greg Ferguson rtmd30@email.sps.mot.com
  351.  
  352.  
  353. +++
  354.  
  355. From: brianb@wc.novell.com (Brian Bulkowski)
  356. Organization: Novell Inc.
  357.  
  358. I heard of University of Texas at Austin boasting of having a real
  359. large network, they claimed 12,000 AppleTalk devices. National will
  360. probably outdistance them shortly. I don't know much about UTA's
  361. topology. Probably mostly ethernet + localtalk and very little WAN.
  362.  
  363. Here at Novell we're pretty small: less than 1000 macs, but we do a bit
  364. of WAN over T1. Usta do IP tunnels, went to native AppleTalk. About
  365. 60 zones.
  366.  
  367. BrianB
  368. brianb@wc.novell.com
  369.  
  370. +++
  371.  
  372. From: ifaq570@ccwf.cc.utexas.edu (Allen Kitchen)
  373. Organization: The University of Texas at Austin
  374.  
  375.     I have been told that the University of Texas has the largest single
  376. site quantity of Macs in the world. Supposedly 50,000 on campus, and most of
  377. them part of the network. 
  378.     So why can't I find a decent software store in this town? :)
  379.  
  380. allen
  381. ifaq570@ccwf.cc.utexas.edu
  382.  
  383. ------------------------------
  384.  
  385. (06)
  386.  
  387. From: rex@hssc.scarolina.edu (Rex Cammack)
  388. Subject: Time Manager
  389. Organization: USC  Department of Computer Science
  390.  
  391.   My department just got THink Pascal Last week and I have not work with pascal
  392. in the last say 5-8 year.  My advisor readed that I might get millisecond 
  393. accuracy by using the Time Manager.  However he want to use the actual time in 
  394. milleseconds.  I investagated this an saw that millisecond are used in this 
  395. quene but How would one capture the numerical millesecond value.  My advisor 
  396. needs a millesecond timer.  Has any one work with the time manager in this way
  397. If so could you provide me with any and all useful information 
  398. Thank to all 
  399. Rex
  400. --
  401. ==============================================================================
  402. Rex Cammack                 University of South Carolina
  403. rex@otis.hssc.scarolina.edu       Humanities and Social Sciences Laboratory
  404. (803)-777-7840                        Columbia, S.C. 29208
  405.  
  406. +++
  407.  
  408. From: Carl.Constantine@BCSystems.GOV.BC.CA
  409. Organization: BC Systems Corporation
  410.  
  411. In article <rex.695942617@andy>, rex@hssc.scarolina.edu (Rex Cammack) writes:
  412. >   My department just got THink Pascal Last week and I have not work with pascal
  413. > in the last say 5-8 year.  My advisor readed that I might get millisecond 
  414. > accuracy by using the Time Manager.  However he want to use the actual time in 
  415. > milleseconds.  I investagated this an saw that millisecond are used in this 
  416. > quene but How would one capture the numerical millesecond value.  My advisor 
  417. > needs a millesecond timer.  Has any one work with the time manager in this way
  418. > If so could you provide me with any and all useful information 
  419. > Thank to all 
  420. > Rex
  421. > --
  422.  
  423. I have once before in testing the Time Manager to do calanders etc.  I don't
  424. have the code here in front of me though.  I can tell you that I got my
  425. information from Macintosh Revealed Vol. 1 & 2.  These books describe how to
  426. use the date and time functions.  It's based on a RandSeed if I remember
  427. correctly.  You can convert from date and time to a longINT and back again very
  428. accurately.
  429.  
  430.  
  431. -- 
  432.  
  433. Carl.Constantine@BCSystems.gov.bc.ca
  434. British Columbia, Canada
  435.  
  436. ------------------------------
  437.  
  438. (07)
  439.  
  440. From: tom@dtint.uucp (Thomas R. Kimpton)
  441. Subject: Re: Q: how do i translate code info from macsbug to resedit?
  442. Organization: Digital Technology, International
  443.  
  444. In article <ANDRE.92Jan16081230@speedy.cs.pitt.edu> andre@speedy.cs.pitt.edu (Andre "Just A Plumber" Srinivasan) writes:
  445. >
  446. >when i'm looking at a function that doesn't have a symbolic name,
  447. >macsbug tells me that i'm in 'CODE 001 D98' + CC.  how do i translate
  448. >this so that i can find the function in resedit using the code
  449. >resource disassembler?
  450. >
  451. >thanks.
  452. CODE    resource type of code resource (many types possible!
  453.     e.g. WDEF, CDEF, MDEF, LDEF, MBDF, scod, etc.)
  454. 0001    short hex number giving resource ID of code resource
  455. 0D98    short hex number giving file reference number of open file
  456. 00CC    short hex number giving offset into resource
  457.  
  458. Open the program with ResEdit, open the appropriate CODE(code)
  459. resource (remembering that the numbers are in DECIMAL in
  460. ResEdit), look in the second column (address, not first
  461. column (offset)) for 00CC, voila.
  462.  
  463. Using the 'file' dcmd you can use the file reference number
  464. to find out which file code is being executed from.
  465.  
  466. Tom.
  467.  
  468. -- 
  469. - -
  470. Tom Kimpton                            UUCP: uunet!dtint!tom
  471. Digital Technology Int.                (801)226-2984    
  472. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  473.  
  474. ------------------------------
  475.  
  476. (08)
  477.  
  478. From: redmand@tramp.Colorado.EDU (REDMAND CHRISTOPHER M)
  479. Subject: Re: INIT
  480. Organization: University of Colorado, Boulder
  481.  
  482. pes@cs.nott.ac.uk (Peter Sutton) writes:
  483.  
  484. >I am about to attempt to write an INIT so
  485. >are there any examples of INITs source code freely available somewhere?
  486. >I have some experience of Mac programming but have not written one
  487. >of these beasts - any pointers. Do I have to use assembler?
  488. >The development environment that I have most ready access to is MPW and
  489. >I would like to do the development under MPW C as much as possible.
  490. >In addition are there any, and if so which, technical notes might
  491. >be of use.
  492.  
  493. 'Tis not necessary to use assembly language, but for the first time writing an
  494. INIT, I _HIGHLY_ recommend it.  Debugging can be an amazing chore unless you
  495. are a C master who can readily recognize and map the assembly code instructions
  496. to the C source lines.
  497.  
  498. The best solution I've come across is to put together an assembly language
  499. platform for INIT development, that simply allocates the necessary space (if
  500. any) for your ram-resident routines and globals, and calls an install()
  501. routine.  Once this basic platform is bullet-proof, any further development you
  502. do can be written in any language, and tested outside of the INIT under a
  503. language-specific debugger.
  504.  
  505. I too am in the throes of developing my first REAL init.  If you're interested
  506. in my code, reply via e-mail:  redmand@tramp.colorado.edu
  507.  
  508.     - Chris
  509.  
  510. *******************************************************************************
  511. Disclaimer:  I'm not speaking for ANYONE that doesn't even spell my name
  512.              correctly.
  513. *******************************************************************************
  514.  
  515. ------------------------------
  516.  
  517. (09)
  518.  
  519. From: Carl.Constantine@BCSystems.GOV.BC.CA
  520. Subject: 2 QuickDraw (AAARRRGH!) questions
  521. Organization: BC Systems Corporation
  522.  
  523. I have a couple of QuickDraw questions.  I'm trying to write a customized
  524. graphing program that will do only pie charts (I only need pie charts for
  525. this). 
  526. Question 1:    my source code reads in a text file with 4 numbers in it
  527. (currently), converts these numbers to a percentage (for easy graphing in a Pie
  528. chart) and then converts that percentage to degrees.  This works like a hot
  529. darn if the four numbers read in total 100 in the sum but if they are more or
  530. less (at least in some cases) the pie chart doesn't graph properly.  I get some
  531. white space in the last pie slice.  I'm using THINK Pascal 4.0 with System 7 on
  532. a Mac Plus with 4 MEGs of RAM.  I'm using the PaintArc procedure.  The main
  533. problem is that this and other XXXXArc procedures take integers as arguments so
  534. when doing the conversion from a percentage to the integer I do the following:
  535.         ArcLength := Ord(Round(num*100))
  536. this takes the Real num*100, converts it to a LongInt and then the ORD function
  537. converts it to the integer I need for the function.
  538.  
  539.     It would be a lot nicer if these QuickDraw routines could take
  540. reals!!!!!!!!!
  541.  
  542. Question 2:    I would like the end result to be a PICT style pie chart that
  543. can be resized by the user (MacDraw like) but I can't find for the life of me
  544. how to do this.  MacDraw has PICT style drawing, Symantec's own GreatWorks has
  545. it, other programs have it, why can't I do it?????!!
  546.  
  547. Any help is muchly appreciated.
  548.  
  549. Carl B. Constantine
  550.  
  551. +++
  552.  
  553. From: cshotton@oac.hsc.uth.tmc.edu (Chuck Shotton)
  554. Organization: OAC, U of Texas Health Science Center
  555.  
  556. In article <1992Jan20.080226.224@galaxy.bcsystems.gov.bc.ca>, Carl.Constantine@BCSystems.GOV.BC.CA writes:
  557. [Passing on question 1]
  558.  
  559. > Question 2:    I would like the end result to be a PICT style pie chart that
  560. > can be resized by the user (MacDraw like) but I can't find for the life of me
  561. > how to do this.  MacDraw has PICT style drawing, Symantec's own GreatWorks has
  562. > it, other programs have it, why can't I do it?????!!
  563.  
  564. Call OpenPicture before you begin drawing your pie chart and ClosePicture after
  565. you're done. Now you have a handle to a picture that can be drawn in any size 
  566. destination rectangle you want (DrawPicture). Stretching and dragging is left
  567. as an exercise to the reader. :)
  568.  
  569. Chuck Shotton
  570.  
  571. ------------------------------
  572.  
  573. (10)
  574.  
  575. From: dmorgan@javelin.sim.es.com (Dave Morgan)
  576. Subject: MPW C++ Class dereferencing of private class variables.
  577. Organization: Evans & Sutherland Computer Corporation
  578.  
  579.      I recently purchased MPW C++, and in their example programs, they
  580. are very careful about telling you to watch out for dereferences.  They
  581. have a temporary variable in each method and will pass the temp's address
  582. instead of the address of the class private variable.  For instance, suppose
  583. class Window has a private variable fwindow..
  584.  
  585. Window::DoMouse(...)
  586. {
  587.   WindowPtr wtmp;
  588.  
  589.   FindWindow(..., &wtmp) // Instead of using &fwindow.
  590.   fwindow = wtmp;
  591. }
  592.  
  593.      Can someone clue me in on the evils of dereferencing a private variable??
  594.  
  595. -Dave
  596.  
  597. Newsgroups: comp.windows.x,comp.windows.x.motif
  598. Subject: Re: X11R5 and Motif1.1.1
  599. Keywords: X motif
  600. Distribution: na
  601. References: <10531@mcrware.UUCP>
  602.  
  603. leeg@mcrware.UUCP (Lee Glenn) writes:
  604.  
  605. >Well, here's my problem:
  606.  
  607. >I've compiled X11R5 for our Sun system with the MotifBC flag set to YES.
  608. >We've been running X11R4 with Motif1.1.1 just fine.  After compiling one
  609. >of our motif applications, we now dump core when trying to use a scrollbar
  610. >widget.
  611.  
  612. >Thinking that I may need to re-compile the motif libraries with the R5
  613. >includes, I find that some includes no longer exist in R5.  (Xlibos.h)
  614.  
  615. >Has anyone else had any of these problems?  Anyone have any suggestions?
  616.  
  617. >Thanks.
  618.  
  619.  
  620. >-- 
  621. >Lee Glenn                    I own an Amiga, but it's not my religion.
  622. >Senior Software Engineer
  623. >Microware Systems Corp.
  624. >(UUCP: uunet!mcrware!leeg) (Internet: leeg@microware.com)
  625.  
  626.      I had to change a couple of things to get Motif to compile after
  627. installing X11R5 on our Suns.  They were:
  628.  
  629.      1) Add the line:
  630.  
  631.             #include <fcntl.h>
  632.  
  633.     to the file <Motif>/lib/Mrm/MrmIfile.c somewhere by the other
  634.     includes.
  635.  
  636.      2) Comment out the line:
  637.  
  638.             #include <X11/Xlibos.h>
  639.  
  640.     in <Motif>/lib/Xm/Vendor.c
  641.  
  642.      Hope this helps...
  643. -- 
  644. -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
  645. David Morgan                                            "Can we go home, yet??"
  646. System Programmer                                    dmorgan@javelin.sim.es.com
  647. Evans & Sutherland                          ...uunet!javelin.sim.es.com!dmorgan
  648.  
  649. +++
  650.  
  651. From: Joe.Francis@dartmouth.edu (Joe Francis)
  652. Organization: Dartmouth College, Hanover, NH
  653.  
  654. In article <1992Jan21.004422.3189@javelin.sim.es.com>
  655. dmorgan@javelin.sim.es.com (Dave Morgan) writes:
  656.  
  657. > They
  658. > have a temporary variable in each method and will pass the temp's address
  659. > instead of the address of the class private variable.
  660.  
  661. I believe the phenomenon you see in the sample code has nothing to do
  662. with the access specifier of the data member, but rather with the type
  663. of the class.  Classes derived from HandleObject have their data
  664. members sitting in a macintosh handle, which can move around in memory.
  665.   Passing addresses to these data members to any routine that can move
  666. memory can result in the data member moving "out from under" the
  667. address before the called routine writes the value.  Note that most mac
  668. ToolBox calls can move memory, and that even calls to your own routines
  669. that seem not to move memory can move memory if they are in a different
  670. segment and that segment is unloaded.  Even if you know that 1) your
  671. routine doesn't move memory, and 2) that it is in a loaded segment, if
  672. your code depends on this it will break when you modify that procedure
  673. later  on in such a way as to vilate either 1 or 2.
  674.  
  675. Again, you only need to worry about this for data members of classes
  676. which are handle based.
  677.  
  678. ------------------------------
  679.  
  680. (11)
  681.  
  682. From: stevec@Apple.COM (Steve Christensen)
  683. Subject: Re: Drawing into windows / update events
  684. Organization: Apple Computer Inc., Cupertino, CA
  685.  
  686. steveh@tasman.cc.utas.edu.au (Steve Howell) writes:
  687. >In IM I-278 it states that "In most cases,
  688. >it's best *never* to draw immediately into a window; when you need to
  689. >draw something, just keep track of it and add the area where it 
  690. >should be drawn to the window's update region." It also says "the application
  691. >has to keep track of the window's contents, usually in a data structure."
  692.  
  693. >Well, my questions:
  694.  
  695. >  * what sort of data structure have people found useful? (If, for example,
  696. >    the window contains icons, pict's, check boxes and the like).
  697.  
  698. Arrays, linked lists, etc.  It depends on what you're application does and
  699. what has to be drawn.  Obviously if you only have a few items in a window,
  700. you could just draw each in turn.
  701.  
  702. >  * what problems arise when one draws directly into a window?
  703.  
  704. Typically the window will be re-drawn twice: once when you draw everything,
  705. and once when you process an update event.  If everything is handled when
  706. your application receives an update event, the window will automatically be
  707. kept up-to-date.
  708.  
  709. >  * how do you handle an update event? by traversing the data structure and
  710. >    redrawing the entire contents of the window?
  711.  
  712. If you don't have too many items to draw, you can simply draw everything
  713. since only the area to be updated will actually be redrawn.  If you have
  714. a potentially large number of items to draw (for example, cells in a
  715. spreadsheet), it makes more sense to draw only those items whose bounds
  716. intersect the update region.
  717.  
  718. steve
  719.  
  720. -- 
  721. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  722.   Steve Christensen            Never hit a man with glasses.
  723.   stevec@apple.com            Hit him with a baseball bat.
  724.  
  725. ------------------------------
  726.  
  727. (12)
  728.  
  729. From: ldo@waikato.ac.nz (Lawrence D'Oliveiro, Waikato University)
  730. Subject: Re: Decompression warning
  731. Organization: University of Waikato, Hamilton, New Zealand
  732.  
  733. Here's another point that bit me, only it's not a bug, it's a feature.
  734.  
  735. The QuickTime documentation warns you that, when passing the address
  736. of the data buffer to the compress/decompress calls, it *must* be a
  737. 32-bit clean address. That is, if it's a dereferenced handle, you must
  738. call StripAddress on it. I was forgetting to do this in one of my programs,
  739. and then I was wondering why it would work perfectly on my LC at home,
  740. but crash every time on the IIfx at work.
  741.  
  742. Then I remembered that my LC (which has 10MB of RAM) runs in 32-bit mode
  743. most of the time, while the 8MB IIfx runs in--you guessed it--24-bit mode.
  744. Simple when you think about it...
  745.  
  746. Lawrence D'Oliveiro                       fone: +64-7-856-2889
  747. Computer Services Dept                     fax: +64-7-838-4066
  748. University of Waikato            electric mail: ldo@waikato.ac.nz
  749. Hamilton, New Zealand    37^ 47' 26" S, 175^ 19' 7" E, GMT+13:00
  750. Godliness doesn't mean that you be so heavenly minded that you're no
  751. earthly use.                                           -- W G P
  752.  
  753. ------------------------------
  754.  
  755. (13)
  756.  
  757. From: tom@dtint.uucp (Thomas R. Kimpton)
  758. Subject: Re: LaunchDeskAccessory
  759. Organization: Digital Technology, International
  760.  
  761. In article <1992Jan16.162819.14799@dtint.uucp> tom@dtint.uucp (Thomas R. Kimpton) writes:
  762. >
  763. [deleted]
  764. >Also I didn't indicate that the event queue was empty,
  765. >no pending events.
  766. >
  767.  
  768. Another oops, MacsBug's Evtq dcmd was lying to me.  I got
  769. paranoid and put checks in the code for events, and 'lo and
  770. behold there were pending update events for the window
  771. behind the SFPGetFile.  I took care of them, and the
  772. Chooser came right up.  Luckily I had read TechNote
  773. "#304: Pending Update Perils" several days before and
  774. this must have been in the back of my mind to make
  775. me check.  Thanks to those who emailed me suggestions.
  776.  
  777. Anyone have a reliable Evtq dcmd?
  778.  
  779. Tom.
  780.  
  781. -- 
  782. - -
  783. Tom Kimpton                            UUCP: uunet!dtint!tom
  784. Digital Technology Int.                (801)226-2984    
  785. 500 W. 1200 South, Orem UT, 84057      FAX (801) 226-8438
  786.  
  787. +++
  788.  
  789. From: neeri@iis.ethz.ch (Matthias Ulrich Neeracher)
  790. Subject: Re: LaunchDeskAccessory
  791. Organization: Integrated Systems Laboratory, ETH, Zurich
  792.  
  793. In article <1992Jan17.170901.16957@dtint.uucp> tom@dtint.uucp (Thomas R. Kimpton) writes:
  794. >In article <1992Jan16.162819.14799@dtint.uucp> tom@dtint.uucp (Thomas R. Kimpton) writes:
  795. >>
  796. >[deleted]
  797. >>Also I didn't indicate that the event queue was empty,
  798. >>no pending events.
  799. >>
  800. >
  801. >Another oops, MacsBug's Evtq dcmd was lying to me.  I got
  802. >paranoid and put checks in the code for events, and 'lo and
  803. >behold there were pending update events for the window
  804. >behind the SFPGetFile.
  805.  
  806. Your evtq dcmd wasn't lying to you. Update events are not put into the event
  807. queue, but generated by GetNextEvent().
  808.  
  809. Matthias
  810.  
  811. - ---
  812. Matthias Neeracher                                      neeri@iis.ethz.ch
  813.  `We say "gestalt" when things combine to act in ways we can't explain'
  814.                              -- Marvin Minsky, _The Society Of Mind_
  815.  
  816. ------------------------------
  817.  
  818. (14)
  819.  
  820. From: fukumoto@aa.cs.keio.ac.jp (FUKUMOTO Atsushi)
  821. Subject: Re: Best way to put a GUI on top of a stdio-style C program
  822. Organization: Anzai Lab., Keio Univ., Yokohama, Japan.
  823.  
  824. I happen to have been doing the port of GhostScript for Macintosh
  825. (though it is suspended these days because I'm quite busy for other
  826. things).
  827.  
  828.  
  829. In article <6191@uqcspe.cs.uq.oz.au>,
  830.     tonyg@cs.uq.oz.au (Tony Gedge) writes:
  831. > I've been working on a port of GhostScript to the Macintosh and have got
  832. > it in a semi-working state (i.e. parser is going, some problems with
  833. > halftoning)
  834.  
  835.  
  836. So perhaps my port might be better than yours.  If you are interested,
  837. let me know, I'll send you.  It might help you.  (Though my code is
  838. ugly.)
  839.  
  840. I'm using TCL for user interface.  I modified console I/O library so
  841. that it is a subclass of CEditText, yet it is still usable from
  842. standard C I/O library as stdin/stdout/stderr.
  843.  
  844. I'm planning to include the composite-font support for Japanese text
  845. handling.  Only if I could find time to do it.
  846.  
  847.  
  848. In article <D88-JWA.92Jan19190711@hemul.nada.kth.se>,
  849.     d88-jwa@hemul.nada.kth.se (Jon W{tte) writes:
  850. > This is somewhat of a black art... In order not to lose too
  851. > much overhead; you should have a wrapper function that checked
  852. > the status of TickCount, and if more than 1 tick has passed, idle
  853. > with a sleep time of ~5 ticks.
  854.  
  855.  
  856. I inserted such a code into the interpreter main loop.
  857.  
  858.  
  859. > Remember that Ticks is a lo-mem global that's NOT available under
  860. > A/UX.
  861.  
  862.  
  863. Interesting thing was that replacing TickCount() with Ticks didn't
  864. have much effect to execution speed.  Perhaps 1% or so, though I've
  865. not done extensive benchmarking.
  866.  
  867.  
  868.                         FUKUMOTO Atsushi
  869.                         fukumoto@aa.cs.keio.ac.jp
  870.  
  871. +++
  872.  
  873. From: lsr@Apple.COM (Larry Rosenstein)
  874. Organization: Object Based Systems, Apple Computer, Inc.
  875.  
  876. In article <D88-JWA.92Jan19190711@hemul.nada.kth.se> d88-jwa@hemul.nada.kth.se (Jon W{tte) writes:
  877. >.oz.au> tonyg@cs.uq.oz.au (Tony Gedge) writes:
  878. >
  879. >   the menus and so on.  The only way I can think of is to profile the
  880. >   execution of it and insert hooks to do the menu/window handling in
  881. >   the tight loops.
  882. >
  883. >Not in the tightest loops, I hope... That woudl give awful performance.
  884. >
  885. >much overhead; you should have a wrapper function that checked
  886. >the status of TickCount, and if more than 1 tick has passed, idle
  887. >with a sleep time of ~5 ticks. You should also have a flag that
  888.  
  889. When I ported the pbmplus image processing tools to MPW, this is the basic
  890. approach I took.  I also used the -trace on feature of MPW C to have the
  891. wrapper called at each routine entry/exit.  This gave reasonable background
  892. performance in most cases.  (For better performance, I wrote a script that
  893. inserted a call to my wrapper in each loop.)
  894.  
  895. I think you can wait as much as 4-5 ticks between each call to WaitNextEvent
  896. and still provide good background performance.  I'm not sure that I would
  897. use a non-zero sleep value.  The sleep value is intended for telling the
  898. system that you don't need any CPU time at all; if you're doing something,
  899. there's no reason to sleep.
  900.  
  901. The hardest part will be handling the events that come in.  (This is easy in
  902. an MPW Tool because the Shell does it for you.)  
  903.  
  904.  
  905. -- 
  906. Larry Rosenstein, Apple Computer, Inc.
  907.  
  908. lsr@apple.com
  909. (or AppleLink: Rosenstein1)
  910.  
  911. ------------------------------
  912.  
  913. (15)
  914.  
  915. From: gt4417a@prism.gatech.EDU (SKELTON,JOEL PHILLIP)
  916. Subject: THINK C oop and C++
  917. Organization: Georgia Institute of Technology
  918.  
  919. I couldn't find any comparision in recent news but I'm certain
  920. this must have been discussed before. I just inherited a mac
  921. with THINK C on it and after glancing through the manuals it
  922. seems that THINK C supports C++ like stuff. I couldn't find
  923. any mention of C++ in the manuals I'd received with the mac.
  924.  
  925. How close is THINK C to C++? I could see that there were some
  926. differences but can these be overcome to get an existing C++
  927. program that makes extensive use of inheritance and op. overloading
  928. to work without completely mangling the original code?
  929.  
  930. Or did I just miss the paragraph in the manual that said that
  931. this is just a teaser to get you the buy their C++ compiler (if
  932. there is one?)
  933.  
  934. jps
  935. bf
  936.  
  937.  
  938. -- 
  939. Joel Skelton   --    North Avenue Trade School, Dept. of Round Things
  940. gt4417a@prism.gatech.edu   (ask for Scooter Technologies, and receive)
  941.  
  942. +++
  943.  
  944. From: e-sink@uiuc.edu (Eric W. Sink)
  945. Organization: University of Illinois at Urbana-Champaign
  946.  
  947. In <46095@hydra.gatech.EDU> gt4417a@prism.gatech.EDU (SKELTON,JOEL PHILLIP) writes:
  948.  
  949. >How close is THINK C to C++? I could see that there were some
  950. >differences but can these be overcome to get an existing C++
  951. >program that makes extensive use of inheritance and op. overloading
  952. >to work without completely mangling the original code?
  953.  
  954. Think C is closer to C than C++.  Its features are patterned after
  955. C++, but C++ has much that Think C lacks (perhaps to its benefit).
  956.  
  957. You will not get an existing C++ program which makes extensive use of
  958. operator overloading to work without completely mangling the
  959. original code.
  960.  
  961. >Or did I just miss the paragraph in the manual that said that
  962. >this is just a teaser to get you the buy their C++ compiler (if
  963. >there is one?)
  964.  
  965. Nope.  There isn't one.  Wish there were...
  966.  
  967. -- 
  968. Eric W. Sink,  Spatial Analysis and Systems Team
  969. USACERL, P.O. Box 9005, Champaign, IL 61826-9005
  970. 1-800-USA-CERL x449,   e-sink@uiuc.edu
  971.  
  972. +++
  973.  
  974. From: skrans@pnet51.orb.mn.org (Steve Krans)
  975. Organization: People-Net [pnet51], Minneapolis, MN.
  976.  
  977. I don't understand why Symantec is lagging so far behind in releasing a C++
  978. compiler.  Are there efforts going swaying towards the pc side of the market,
  979. or what?  Are there any other companies that sell C++ compilers?  There's MPW
  980. C++, right?  Steve.
  981.  
  982. UUCP: {tcnet, crash, quest}!orbit!pnet51!skrans
  983. ARPA: crash!orbit!pnet51!skrans@nosc.mil
  984. INET: skrans@pnet51.orb.mn.org
  985.  
  986. +++
  987.  
  988. From: neeri@iis.ethz.ch (Matthias Ulrich Neeracher)
  989. Subject: Re: THINK C oop and C++
  990. Organization: Integrated Systems Laboratory, ETH, Zurich
  991.  
  992. In article <6897@orbit.cts.com> skrans@pnet51.orb.mn.org (Steve Krans) writes:
  993. >I don't understand why Symantec is lagging so far behind in releasing a C++
  994. >compiler.  Are there efforts going swaying towards the pc side of the market,
  995. >or what?  Are there any other companies that sell C++ compilers?  There's MPW
  996. >C++, right?  Steve.
  997.  
  998. As far as I know, Symantec bought Zortech, which has a C++ compiler for the
  999. Mac. Other companies ? I don't know. If you want a really interesting
  1000. experiment, offer Cygnus $200'000 for porting g++ to the Mac :-)
  1001.  
  1002. Matthias
  1003.  
  1004. - ---
  1005. Matthias Neeracher                                   neeri@iis.ethz.ch
  1006.   "... Rice walked out wondering if the world was nothing but wimps,
  1007.    pimps, psychos and sex fiends" -- James Ellroy, _Suicide Hill_
  1008.  
  1009. ------------------------------
  1010.  
  1011. (16)
  1012.  
  1013. From: david@oahu.cs.ucla.edu (David Dantowitz)
  1014. Subject: How to set up a color startup screen AND color back drop screens
  1015. Organization: UCLA Computer Science Department
  1016.  
  1017. How does one set up a color startup screen.  I have a color PICT in
  1018. a file, but it's beeing shown in B&W.  Do I have to write an init to
  1019. start up a copy of quick draw and draw it myself?
  1020.  
  1021. Also, how does one hook into the desktop to provide a new back drop picture?
  1022.  
  1023. Thanks.
  1024. -- 
  1025. David Dantowitz
  1026. david@cs.ucla.edu
  1027.  
  1028. Singing Barbershop when I'm not computing...
  1029.  
  1030. +++
  1031.  
  1032. From: david@oahu.cs.ucla.edu (David Dantowitz)
  1033. Subject: Re: How to set up a color startup screen AND color back drop screens
  1034. Organization: UCLA Computer Science Department
  1035.  
  1036. Okay, I answered the first part myself:
  1037.  
  1038. I cleared the PRAM of my ci last week, and at boot time it didn't know it had
  1039. color.  After boot-up it was in color mode, though and that's what confused
  1040. me.  A quick trip to the monitor control panel fixed this.
  1041.  
  1042. -- 
  1043. David Dantowitz
  1044. david@cs.ucla.edu
  1045.  
  1046. Singing Barbershop when I'm not computing...
  1047.  
  1048. +++
  1049.  
  1050. From: steveh@tasman.cc.utas.edu.au (Steve Howell)
  1051. Organization: University of Tasmania, Australia.
  1052.  
  1053. david@oahu.cs.ucla.edu (David Dantowitz) writes:
  1054.  
  1055.  
  1056. >Also, how does one hook into the desktop to provide a new back drop picture?
  1057.  
  1058. Try using "DeskView" - it lets you have a colour backdrop. Works best if your
  1059. monitor is set in "millions" mode, 'cos then you don't get palette hassles.
  1060. Unfortunately, this program only let's you have one backdrop... you can't
  1061. get it to randomly choose one from a collection.
  1062.  
  1063.     ps
  1064. You can download DeskView via anonymous FTP from sumex-aim.stanford.edu
  1065. or one of it's shadows, I think it is in the info-mac/ex directory.
  1066.  
  1067. ------------------------------
  1068.  
  1069. (17)
  1070.  
  1071. From: jxs18@po.CWRU.Edu (Jerry Sy)
  1072. Subject: TIFF file format incompatible!
  1073. Organization: Case Western Reserve University, Cleveland, OH (USA)
  1074.  
  1075. I have files in PhotoShop that I saved as TIFF format (it doesn't matter
  1076. whether Mac or PC format), but when I try to read it in OMNIPAGE,
  1077. it does not recognize the TIFF format, and TIFF is the only format
  1078. OMNIPAGE can read.
  1079.  
  1080. any ideas ?
  1081.  
  1082. jerry
  1083.  
  1084. +++
  1085.  
  1086. From: jordi@sc2a.unige.ch
  1087. Subject: Re: TIFF file format incompatible!
  1088. Organization: University of Geneva, Switzerland
  1089.  
  1090. > I have files in PhotoShop that I saved as TIFF format (it doesn't matter
  1091. > whether Mac or PC format), but when I try to read it in OMNIPAGE,
  1092. > it does not recognize the TIFF format, and TIFF is the only format
  1093. > OMNIPAGE can read.
  1094. > any ideas ?
  1095. > jerry
  1096.  
  1097. You can try to save it as a non-compressed TIFF file. I often encounter this
  1098. kind of problem with TIFF format. 
  1099.  
  1100. Hope it will work.
  1101. Sincerely,
  1102. Steve Jordi
  1103. Dpt of Geophysics
  1104. University of Geneva
  1105. Switzerland
  1106. jordi@sc2a.unige.ch
  1107.  
  1108. ------------------------------
  1109.  
  1110. (18)
  1111.  
  1112. From: lapoint@adm.brl.mil (Claude Lapointe)
  1113. Subject: pascal on the mac, 1st programming course
  1114. Organization: Ballistic Research Lab (BRL), APG, MD.
  1115.  
  1116. My daughter (college freshman) is taking her 1st programming
  1117. course, pascal.
  1118.  
  1119. borland's pascal is provided by the school for both their
  1120. ibm lab and mac lab.
  1121.  
  1122. The instructor uses a mac (as does my daughter, who will shortly
  1123. get her very own IIci 5/80 w cache), dislikes borland's pascal,
  1124. and recommends THINK pascal (states it is much more powerful
  1125. and complex than is needed but has documentation) and MacPascal
  1126. (which he uses himself, but which has no documentation).
  1127.  
  1128. I need some advice in a hurry.
  1129.  
  1130. THINK pascal is expensive ($160-170 mail order), and I'm willing
  1131. to believe the prof's assessment thereof - but a BIG plus is
  1132. documentation and fast availability.
  1133.  
  1134. MacPascal is of unknown price, a mere interpreter, has no
  1135. documentation, and is of unknown availability.
  1136.  
  1137. THINK pascal would probably be of continuing utility. Perhaps its
  1138. reputed complexity could be overcome by initially using only
  1139. its interpreter (presuming it has one and so doing is possible).
  1140. Documentation seems to me to be of great value.
  1141.  
  1142. MacPascal has the great advantage of being used by the guy
  1143. who teaches the course - but it has no documentation(?), and I
  1144. don't know how to get it.
  1145.  
  1146. Corrections of my errors, recommendations, and source info please.
  1147.  
  1148. +++
  1149.  
  1150. From: mcmath@csb1.nlm.nih.gov (Chuck McMath)
  1151. Organization: MSD
  1152.  
  1153. In article <28996@adm.brl.mil>, lapoint@adm.brl.mil (Claude Lapointe) writes:
  1154. > My daughter (college freshman) is taking her 1st programming
  1155. > course, pascal.
  1156. > borland's pascal is provided by the school for both their
  1157. > ibm lab and mac lab.
  1158. > The instructor uses a mac (as does my daughter, who will shortly
  1159. > get her very own IIci 5/80 w cache), dislikes borland's pascal,
  1160. > and recommends THINK pascal (states it is much more powerful
  1161. > and complex than is needed but has documentation) and MacPascal
  1162. > (which he uses himself, but which has no documentation).
  1163. > I need some advice in a hurry.
  1164. >    .....
  1165. >
  1166.  
  1167. There are really two alternatives: Think Pascal is certainly one, and for
  1168. your daughter it _may_ be overkill.  It is an excellent product, and has
  1169. been around a while.  You can do just about whatever you want to with it,
  1170. and the debugging facilities are nice.
  1171.  
  1172. MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1173. Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1174. seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1175. a compiler.  I owned MacPascal when it existed, and frequently got into
  1176. situations where it did not suffice for my purposes.  However, I was trying
  1177. to do all sorts of crazy Mac-like things, not take a course in programming.
  1178.  
  1179. I am not sure of the price difference between Think Pascal and Just Enough
  1180. Pascal, but if either you or your daughter have ANY interest in programming
  1181. the Mac for fun or profit, spring for Think Pascal (after all of the tuition
  1182. you're paying, what's another couple of hundred bucks, right?).
  1183.  
  1184.  
  1185. -- chuck mcmath
  1186.  
  1187. +++
  1188.  
  1189. From: ags@seaman.cc.purdue.edu (Dave Seaman)
  1190.  
  1191. In article <1992Jan21.184507.11513@nlm.nih.gov> mcmath@csb1.nlm.nih.gov (Chuck  
  1192. McMath) writes:
  1193.  
  1194.  [Re:  Pascals for instructional use]
  1195.  
  1196. > MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1197. > Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1198. > seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1199. > a compiler.  I owned MacPascal when it existed, and frequently got into
  1200. > situations where it did not suffice for my purposes.  However, I was trying
  1201. > to do all sorts of crazy Mac-like things, not take a course in programming.
  1202.  
  1203. MacPascal is (was?) an actual Pascal compiler/development system for the Mac  
  1204. (taken over from APDA, I think).  I do not know whether there is a  
  1205. System-7-compatible version.  However, this is not the same as Just Enough  
  1206. Pascal, which is not a compiler/development system, but a desk accessory  
  1207. (remember those?) which is intended to be used as a learning aid with an  
  1208. earlier version of Think Pascal (about version 2.0, I think, though most of it  
  1209. still makes sense if used with later versions).  JEP walks the user through the  
  1210. process of creating a working program for the Mac, but it depends entirely on  
  1211. the THINK Pascal environment for its editing, compiling and linking facilities.
  1212.  
  1213. --
  1214. Dave Seaman
  1215. ags@seaman.cc.purdue.edu
  1216.  
  1217. +++
  1218.  
  1219. From: ericd@caticsuf.CSUFresno.EDU (Eric W. Douglas)
  1220. Subject: Re: pascal on the mac, 1st programming course
  1221.  
  1222. mcmath@csb1.nlm.nih.gov (Chuck McMath) writes:
  1223.  
  1224. >In article <28996@adm.brl.mil>, lapoint@adm.brl.mil (Claude Lapointe) writes:
  1225. >> 
  1226. >> 
  1227. >> My daughter (college freshman) is taking her 1st programming
  1228. >> course, pascal.
  1229. >> 
  1230. >> borland's pascal is provided by the school for both their
  1231. >> ibm lab and mac lab.
  1232. >> 
  1233. >> The instructor uses a mac (as does my daughter, who will shortly
  1234. >> get her very own IIci 5/80 w cache), dislikes borland's pascal,
  1235. >> and recommends THINK pascal (states it is much more powerful
  1236. >> and complex than is needed but has documentation) and MacPascal
  1237. >> (which he uses himself, but which has no documentation).
  1238. >> 
  1239. >> I need some advice in a hurry.
  1240. >> 
  1241.  
  1242. One more thing I forgot to tell you in my private email reply: the
  1243. LightsBug debugger in THINK Pascal would be excellent for the student
  1244. trying to debug their assignments. Using THINK Pascals built-in breakpoints
  1245. in recursive list or tree building functions would greatly increase her
  1246. productivity in tracking down where problems are occuring. When I first
  1247. got THINK Pascal 2.0, I never really paid any attention to the debugger,
  1248. but now, I wouldn't be able to work without it. (BTW: the current version
  1249. is 4.0.1)
  1250.  
  1251. --eric
  1252.  
  1253. * | Eric W. Douglas             Technojock               +1 209 897 5785 | *
  1254. * | I'net: ericd@caticsuf.csufresno.edu      ericd@csufres.csufresno.edu | *
  1255. * | AppleLink: STUDIO.D      Compuserve: 76170,1472       AOL: EWDOUGLAS | *
  1256. ____________________________________________________________________________
  1257.  
  1258. +++
  1259.  
  1260. From: francis@styracosaur.cis.ohio-state.edu (RD Francis)
  1261. Organization: Ohio State Computer Science
  1262.  
  1263. In article <1992Jan21.184507.11513@nlm.nih.gov> mcmath@csb1.nlm.nih.gov (Chuck McMath) writes:
  1264.    In article <28996@adm.brl.mil>, lapoint@adm.brl.mil (Claude Lapointe) writes:
  1265.    > The instructor uses a mac (as does my daughter, who will shortly
  1266.    > get her very own IIci 5/80 w cache), dislikes borland's pascal,
  1267.    > and recommends THINK pascal (states it is much more powerful
  1268.    > and complex than is needed but has documentation) and MacPascal
  1269.    > (which he uses himself, but which has no documentation).
  1270.  
  1271.    MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1272.    Think Pascal) own it, and it's now called 'Just Enough Pascal.'
  1273.  
  1274. Just Enough Pascal may take MacPascal's place, but (last I heard)
  1275. MacPascal 3.0 was still available from Symantec, at least to
  1276. educational institutions.
  1277. -- 
  1278. R David Francis     francis@cis.ohio-state.edu  -or-  rdf+@osu.edu
  1279.  
  1280. +++
  1281.  
  1282. From: tai50080@uxa.cso.uiuc.edu (Thomas Aaron Insel)
  1283. Organization: University of Illinois at Urbana
  1284.  
  1285. mcmath@csb1.nlm.nih.gov (Chuck McMath) writes:
  1286.  
  1287. >MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1288. >Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1289. >seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1290. >a compiler.  I owned MacPascal when it existed, and frequently got into
  1291. >situations where it did not suffice for my purposes.  However, I was trying
  1292. >to do all sorts of crazy Mac-like things, not take a course in programming.
  1293.  
  1294. Just Enough Pascal is NOT, I repeat NOT, MacPascal.  It is a tutorial for use
  1295. with THINK Pascal, and useless on its own.
  1296.  
  1297. Now that that's off my chest, THINK Pascal is quite possibly the best Pascal
  1298. for use with the Mac.  Almost any Pascal will work just fine if you're doing
  1299. elementary programming, but if you want to program for the Toolbox, THINK is
  1300. the way to go.  It's nearly as powerful, much cheaper, and much easier to use
  1301. than its main competitor, MPW.
  1302.  
  1303. -- 
  1304. Thomas Aaron Insel (t-insel@uiuc.edu)
  1305.   s-mail: URH 227 Saunders, 906 W. College, Urbana IL 61801
  1306.   I speak for myself, and not for the State or University of Illinois.
  1307.   Cute quote and/or drawing deleted courtesy U of I.
  1308.  
  1309. +++
  1310.  
  1311. From: din@grad1.cis.upenn.edu (Clarence Din)
  1312. Organization: University of Pennsylvania
  1313.  
  1314. In article <1992Jan21.184507.11513@nlm.nih.gov> mcmath@csb1.nlm.nih.gov (Chuck McMath) writes:
  1315. >In article <28996@adm.brl.mil>, lapoint@adm.brl.mil (Claude Lapointe) writes:
  1316. >MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1317. >Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1318. >seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1319. >a compiler.  I owned MacPascal when it existed, and frequently got into
  1320. >situations where it did not suffice for my purposes.  However, I was trying
  1321. >to do all sorts of crazy Mac-like things, not take a course in programming.
  1322.  
  1323. No, no, no!!!   Just Enough Pascal is NOT MacPascal.  It happens to be
  1324. a small tutorial on using and programming THINK pascal.  You get to
  1325. learn the basics of THINK pascal programming in 20 lessons with this
  1326. product.  Maybe you are thinking of something else?
  1327. >
  1328. >I am not sure of the price difference between Think Pascal and Just Enough
  1329. >Pascal, but if either you or your daughter have ANY interest in programming
  1330. >the Mac for fun or profit, spring for Think Pascal (after all of the tuition
  1331. >you're paying, what's another couple of hundred bucks, right?).
  1332.  
  1333. THINK Pascal 4.0 ... list $199 (or $249?)... at MacWarehouse $169
  1334. Just Enough Pascal ... MacWarehouse $55
  1335. - -------------------------------------------------------------------------
  1336. Clarence K. Din                                                   "scholar"
  1337. Programmer Analyst II, Language Analysis Center, University of Pennsylvania
  1338. "Flame me, not my employer.  My opinions are my own!"
  1339. din@grad1.cis.upenn.edu
  1340.  
  1341. +++
  1342.  
  1343. From: tlt38517@uxa.cso.uiuc.edu (Terry Lee Thiel)
  1344. Organization: University of Illinois at Urbana
  1345.  
  1346. >MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1347. >Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1348. >seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1349. >a compiler. 
  1350. Yikes! Just a little bit of misinformation there.  Just Enough Pascal is NOT a
  1351. compiler, it is a tutorial for learning pascal and requires Think Pascal to
  1352. operate.
  1353.  
  1354. +++
  1355.  
  1356. From: tlt38517@uxa.cso.uiuc.edu (Terry Lee Thiel)
  1357. Organization: University of Illinois at Urbana
  1358.  
  1359. >MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1360. >Think Pascal own it, and it's now called 'Just Enough Pascal.'
  1361. >Just Enough Pascal may take MacPascal's place, but (last I heard)
  1362. >MacPascal 3.0 was still available from Symantec, at least to
  1363. >educational institutions.
  1364. Please!  MacPascal is dead and has been for a long time.
  1365. Just Enough pascal IS NOT A COMPILER!!!  It is a TUTORIAL!
  1366.  
  1367. +++
  1368.  
  1369. From: kcon@pnet01.cts.com (Keith Conover)
  1370. Subject: Re: pascal on the mac, 1st programming course
  1371. Organization: People-Net [pnet01], El Cajon CA
  1372.  
  1373. Just Enough Pascal is neither a Pascal interpreter or compiler, its a
  1374. tutorial for Think Pascal.
  1375.  
  1376. Keith Conover
  1377. kcon@pnet01.cts.com
  1378.  
  1379. UUCP: {hplabs!hp-sdd ucsd nosc}!crash!pnet01!kcon
  1380. ARPA: crash!pnet01!kcon@nosc.mil
  1381. INET: kcon@pnet01.cts.com
  1382.  
  1383. +++
  1384.  
  1385. From: drc@claris.com (Dennis Cohen)
  1386. Subject: Re: pascal on the mac, 1st programming course
  1387. Organization: Claris Corporation, Santa Clara CA
  1388.  
  1389. mcmath@csb1.nlm.nih.gov (Chuck McMath) writes:
  1390.  
  1391. ...Message being replied to removed:
  1392.  
  1393. >There are really two alternatives: Think Pascal is certainly one, and for
  1394. >your daughter it _may_ be overkill.  It is an excellent product, and has
  1395. >been around a while.  You can do just about whatever you want to with it,
  1396. >and the debugging facilities are nice.
  1397.  
  1398. >MacPascal does not exist any longer (I believe).  Symantec (publishers of
  1399. >Think Pascal) own it, and it's now called 'Just Enough Pascal.'  I have not
  1400. >seen it, but I believe that it's an updated MacPascal - an interpreter, not
  1401. >a compiler.  I owned MacPascal when it existed, and frequently got into
  1402. >situations where it did not suffice for my purposes.  However, I was trying
  1403. >to do all sorts of crazy Mac-like things, not take a course in programming.
  1404.  
  1405. >I am not sure of the price difference between Think Pascal and Just Enough
  1406. >Pascal, but if either you or your daughter have ANY interest in programming
  1407. >the Mac for fun or profit, spring for Think Pascal (after all of the tuition
  1408. >you're paying, what's another couple of hundred bucks, right?).
  1409.  
  1410. The above information is fundamentally in error.  MacPascal is currently in
  1411. version 3.0, (revised about 1 year ago) and is available to educational
  1412. installations exclusively through Symantec's educational distributor.  Just
  1413. Enough Pascal is a desk accessory educational product which requires THINK
  1414. Pascal -- JEP is an set of tutorial sessions in which the student follows
  1415. along in THINK Pascal.
  1416.  
  1417. MacMillan has also just released MetroWerks Pascal for the Mac.  It is Turbo
  1418. 5.5-compatible (according to the claims, which appear to early inspection to
  1419. be accurate), has a reasonable source-level debugger, and lists for $79 to
  1420. the public with an educational price somewhere around $40 and $50.  It is
  1421. essentially the same environment as MetroWerks Modula-2 and appears to be
  1422. quite stable so long as you don't have Jasik's Debugger installed.  If there
  1423. needs to be a fair amount of Turbo compatibility, your daughter and her
  1424. instructor might be well advised to check out this new product (it debuted
  1425. at MacWorld Expo last week).  The manual and tutorial material are both
  1426. good and extensive (hard-bound book with the disks attached inside the back
  1427. cover).
  1428.  
  1429.  
  1430.  
  1431. -- 
  1432. | Dennis Cohen     drc@claris.com   COHEN2   AFC DCohen    71076,1377
  1433. |                  Internet       AppleLink  AmerOnline    CompuServe
  1434. | Disclaimer:  Any unattributed opinions expressed above are _MINE_!
  1435.  
  1436. +++
  1437.  
  1438. From: siegel@world.std.com (Rich Siegel)
  1439. Organization: Symantec Language Products Group
  1440.  
  1441. [implicit references to previous messages in this thread, in which various
  1442. bits of misinformation are tossed about...]
  1443.  
  1444. - Macintosh Pascal is an interpretive Pascal programming environment, which
  1445. is ideal for educational usages, but pretty well unsuited for anything beyond
  1446. that. It was originally produced by THINK Technologies and released with the
  1447. original Macintosh in 1984. It was sold by Apple under the Apple label until
  1448. 1989, when Apple turned over production and sales rights to Symantec (which
  1449. had in the meantime acquired THINK Technologies).
  1450.  
  1451. Mac Pascal's limitations are that it's not 32-bit clean; there are also no
  1452. guarantees as to its performance or reliability when VM is running, or under
  1453. System 7 in general, although there have been no reports of problems.
  1454.  
  1455. Mac Pascal is only available to educational institutions, so it may or
  1456. may not be available in a college's bookstore.
  1457.  
  1458. - THINK Pascal is a full-blown production development environment, which
  1459. retains enough of its Mac Pascal roots that it's reasonably easy for novices
  1460. to use (with an hour's instruction, perhaps...). It is used by many educational
  1461. institutions. It is completely 32-bit clean, VM compatible, and System 7-
  1462. compatible.
  1463.  
  1464. The THINK Pascal debugger is a functional superset of the Mac Pascal debugger;
  1465. it offers the same Instant and Observe windows, and in addition, it offers
  1466. LightsBug, which is a structured all-purpose structured data-view window.
  1467.  
  1468. - Just Enough Pascal is not a development environment. It is a tutorial
  1469. desk accessory, which, when used in conjunction with THINK Pascal version 2.0
  1470. or better, teaches the basics of Pascal programming. It is not, however,
  1471. a supplement  or replacement for Macintosh Pascal.
  1472.  
  1473. R.
  1474. -- 
  1475. - ---------------------------------------------------------------------
  1476. Rich Siegel                              Internet: siegel@world.std.com
  1477. Senior Software Engineer                 Applelink: SIEGEL
  1478. Symantec Languages Group
  1479.  
  1480. +++
  1481.  
  1482. From: lapoint@adm.brl.mil (Claude Lapointe)
  1483. Organization: Ballistic Research Lab (BRL), APG, MD.
  1484.  
  1485. Thanks to all who provided advice. I've received so many replies that
  1486. I can't thank everyone individually.
  1487.  
  1488. The overwhelming preponderance of opinion was that there simply is no
  1489. contest - THINK Pascal is the one to get for a variety of reasons,
  1490. including its documentation, support, debugger, and Pascal-templated
  1491. editor which does at least rudimentary syntax checking even before
  1492. compilation.
  1493.  
  1494. One or two people stated they were pleased with Borland's product,
  1495. but most said it was essentially dead, and had been so for several
  1496. years.
  1497.  
  1498. There were one or two mentions each of the existence of a new pascal
  1499. product by Macmillan and of a (new?) product by Symantek, Just Enough
  1500. Pascal.
  1501.  
  1502. One person said I should buy my daughter a NeXT rather than a IIci,
  1503. and gave some reasons.
  1504.  
  1505. - ----------------------
  1506.  
  1507. I'm going to buy THINK Pascal.
  1508.  
  1509. Were the machine primarily for me, I'd strongly consider a NeXT, but
  1510. it's for my daughter, at least until she graduates. She most emphatically
  1511. doesn't need to be the only (or almost only) person on campus with a
  1512. particular machine no matter how wonderful it might be, nor does she
  1513. need (as a novice) to contend with UNIX, which, although a powerful,
  1514. user-efficient, and remarkably portable OS, is also notoriously
  1515. expert-friendly.
  1516.  
  1517. - ----------------------
  1518.  
  1519. Does anyone have Symantek's phone number?
  1520.  
  1521. Thanks again.
  1522.  
  1523. ------------------------------
  1524.  
  1525. End of C.S.M.P. Digest
  1526. ******************************
  1527.  
  1528.  
  1529.